home *** CD-ROM | disk | FTP | other *** search
/ EnigmA Amiga Run 1995 October / EnigmA AMIGA RUN 01 (1995)(G.R. Edizioni)(IT)[!][issue 1995-10][Aminet 7].iso / Aminet / dev / gcc / ixemul_src.lha / ixemul-41.0 / library / kprintf.h < prev    next >
C/C++ Source or Header  |  1995-05-27  |  1KB  |  37 lines

  1. /*  Support stuff for doing low level debugging of the library and/or
  2.  *  runtime startup code using KPrintF.
  3.  *
  4.  *  Compile with CFLAGS="-O2 -DDEBUG_VERSION" to get debugging version.
  5.  *
  6.  *  FIXME: For some reason the -O2 is required, otherwise the system
  7.  *  crashes.
  8.  */
  9.  
  10. /*
  11.  *  Use as:    KPRINTF (("foo = %s\n", bar));
  12.  *  Prints:    /mysource/project/bell.c:45: foo = bell
  13.  */
  14.  
  15. #ifdef DEBUG_VERSION
  16.  
  17. #define KPRINTF_WHERE        do { KPrintF ("%s:%ld: ", __FILE__, __LINE__); } while (0)
  18. #define KPRINTF_ARGS(a)        do { KPrintF a; } while (0)
  19. #define KPRINTF(a)        do { KPRINTF_WHERE; KPRINTF_ARGS(a); } while (0)
  20. #define KPRINTF_DISABLED(a)    do { Disable (); KPRINTF (a); Enable (); } while (0)
  21.  
  22. #define KPRINTF_ARGV(name,argv) \
  23.   do { int argi; \
  24.     for (argi = 0; (argv)[argi] != NULL; argi++) \
  25.       KPRINTF (("%s[%ld] = [%s]\n", (name), argi, (argv)[argi])); \
  26.   } while (0)
  27.  
  28. #else    /* not DEBUG_VERSION */
  29.  
  30. #define KPRINTF_WHERE            /* Expands to nothing */
  31. #define KPRINTF_ARGS(a)            /* Expands to nothing */
  32. #define KPRINTF(a)            /* Expands to nothing */
  33. #define KPRINTF_DISABLED(a)        /* Expands to nothing */
  34. #define KPRINTF_ARGV(name,argv)        /* Expands to nothing */
  35.  
  36. #endif    /* DEBUG_VERSION */
  37.